WebRTC enables real-time communication over peer-to-peer connections between web browsers. As a result, WebRTC allows for video conferencing and other direct communications in the browser between end users without the need to use either a central server or a browser plugin.
WebRTC uses the datagram transport layer security (DTLS) protocol for secure real-time transport protocol (SRTP) messages between the end points. A web application is provided to end-users by a web server. The web application accesses WebRTC JavaScript APIs from the browser and handles interactions with the user and the exchange of metadata between the end points via a signaling server.
Each browser collects metadata (e.g., a certificate fingerprint for the DTLS connection, a set of local Internet protocol (IP) addresses and public IP/port pairs of the end point, or availability of network relays) about its respective end point. The metadata is exchanged via the signaling server.
After the metadata is exchanged, the end points agree on media characteristics and transport addresses (e.g., IP/port pairs) for communication. The peer-to-peer DTLS-SRTP communication channel is established using the agreed upon setup, and the WebRTC connection begins.